Modern communication systems and apparatus commonly use packets. In other words, rather than the circuit-switched systems in relatively wide use previously, present-day communication systems increasingly use packet-switched techniques, i.e., packet-processing techniques.
Packet-processing systems typically include some mechanism for testing the packets. For example, some systems embed or add a cyclic redundancy code (CRC) or checksum to a packet for testing purposes. Testing increases the reliability of the packet transmission and reception. Thus, testing ultimately increases the reliability and robustness of the communication system. In a conventional scheme, the packet has several fields, including a destination field, a source field, a data field, and a cyclic redundancy check (CRC) field. The CRC field typically includes a CRC value for all the fields in the packet as it exists before transmission and without regard to the transmission channel, destination, etc.